import pytesseract
from PIL import Image
import os

class ImageProcessor:
    def __init__(self):
        # 移除了image_folder参数，现在处理单个图片
        pass

    def recognize_text(self, image_path, lang='chi_sim+eng'):
        """
        识别单张图片中的文字
        :param image_path: 图片路径
        :param lang: 识别语言，'chi_sim'为简体中文，'eng'为英文，'chi_sim+eng'为中英双语
        :return: 识别出的文字
        """
        try:
            image = Image.open(image_path)
            # 对于双语识别，使用两种语言包
            if lang == 'chi_sim+eng':
                # 分别使用中文和英文进行识别
                text_cn = pytesseract.image_to_string(image, lang='chi_sim')
                text_en = pytesseract.image_to_string(image, lang='eng')
                # 合并结果，去除空行
                text_combined = text_cn.strip() + "\n\n" + text_en.strip()
                return text_combined
            else:
                # 单语言识别
                text = pytesseract.image_to_string(image, lang=lang)
                return text.strip()
        except Exception as e:
            raise Exception(f"处理图片 {os.path.basename(image_path)} 时出错: {str(e)}")
